package HDFS;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

import java.io.IOException;
import java.net.URI;

public class Demo1_HDFSConnection {


    public static void main(String[] args) throws Exception {

        //创建一个配置类的对象
        Configuration conf = new Configuration();

        //可以使用conf对象设置hdfs相关的属性内容
        //优先执行conf的设置，但是conf只对当前逻辑有效
//        conf.set("fs.default.name","file:///");

        //通过配置对象创建一个文件系统的对象
        FileSystem fs = FileSystem.get(conf);
//        FileSystem fs = FileSystem.get(
//                new URI("hdfs://node101:9820"),
//                conf,
//                "bduser"
//        );


        //使用文件系统的对象在HDFS中创建目录
        /**
         * 在windows下以当前用户名操作，会出现权限问题
         * 思路
         *   1.hdfs上拥有足够的权限
         *   2.hdfs和windows的用户保持一致
         * 解决方案
         *   1.hdfs dfs -chmod -R 777 /
         */

        fs.mkdirs(new Path("/home4"));


        //输出连接信息
//        System.out.println(fs);

        //关闭文件系统的连接
        fs.close();


    }


}
